#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
采用Hmac替代我们自己的salt算法，可以使程序算法更标准化，也更安全
"""
import hmac

message = b'Hello, world!'
key = b'secret'
h = hmac.new(key, message, digestmod='MD5')
# 如果消息很长，可以多次调用h.update(msg)
print(h.hexdigest()) #'fa4ee7d173f2d97ee79022d1a7355bcf'

"""
可见使用hmac和普通hash算法非常类似。hmac输出的长度和原始哈希算法的长度一致。需要注意传入的key和message都是bytes类型，str类型需要首先编码为bytes。

Python内置的hmac模块实现了标准的Hmac算法，它利用一个key对message计算“杂凑”后的hash，使用hmac算法比标准hash算法更安全，因为针对相同的message，不同的key会产生不同的hash。
"""



